home *** CD-ROM | disk | FTP | other *** search
/ CD World Haziran 1997 / CD World Haziran 1997.iso / Programlama ve Gelistirme / DTime / _SETUP.1 / dentry.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-04  |  17.6 KB  |  764 lines

  1. /*
  2. Module : DENTRY.H
  3. Purpose: Defines the interface to a number of classes to allow data entry of 
  4.          the date/time classes
  5. Created: PJN / DATE/1 / 20-02-1996
  6. History: PJN / DATE/2 / 23-09-1996  Now uses new tabbed dialog method of 
  7.                                     data entry
  8.  
  9. Copyright (c) 1996 by PJ Naughter.  
  10. All rights reserved.
  11.  
  12. */
  13.  
  14. #ifndef __DENTRY_H__
  15.  
  16.  
  17. ////////////////////////////////// Macros /////////////////////////////////////
  18.  
  19. #define __DENTRY_H__
  20.  
  21.  
  22. ////////////////////////////////// Consts /////////////////////////////////////
  23.  
  24. //flags used to control how the data entry dialogs are displayed
  25.  
  26. const DWORD DT_ONLYVALID         = 0x0001;   //only allows valid data to be entered
  27. const DWORD DT_NOSECONDS         = 0x0002;   //do not show the second field
  28. const DWORD DT_NODISPLAYCOMBO    = 0x0004;   //Only allows the date to be entered as a Day of Month
  29. const DWORD DT_NOET_TIMEFRAME    = 0x0008;   //ET is not allowed as a TimeFrame
  30. const DWORD DT_NOUCT_TIMEFRAME   = 0x0010;   //UCT is not allowed as a TimeFrame
  31. const DWORD DT_NOLOCAL_TIMEFRAME = 0x0020;   //Local is not allowed as a TimeFrame
  32.  
  33.  
  34.  
  35.  
  36. ////////////// Id/Message Map consts //////////////////////////////////////////
  37. #define DTIME_EDIT_CONTROL_ID 1000                                                   
  38. #define UWM_BN_CLICKED       WM_USER + 1000
  39. #define UWM_TIMEOFDAY_NOTIFY WM_USER + 1001
  40. #define UWM_TIMEFRAME_NOTIFY WM_USER + 1002
  41.  
  42.  
  43. ////////////////////////////////// Includes ///////////////////////////////////
  44. #include "datetime.h"
  45.  
  46.  
  47. ////////////////////////////// classes ////////////////////////////////////////
  48. class CDateButton : public CButton
  49. {
  50. public:
  51.   CDateButton();
  52.   virtual ~CDateButton();
  53.  
  54.   void SetBuddy(CWnd* pBuddy);
  55.  
  56.  
  57. protected:
  58.   //{{AFX_VIRTUAL(CDateButton)
  59.   public:
  60.   virtual BOOL PreTranslateMessage(MSG* pMsg);
  61.   //}}AFX_VIRTUAL
  62.  
  63.   //{{AFX_MSG(CDateButton)
  64.   afx_msg void OnClicked();
  65.   //}}AFX_MSG
  66.  
  67.   DECLARE_MESSAGE_MAP()
  68.  
  69.   CWnd* m_pBuddy;
  70.   BOOL m_bFirstCall;
  71.   CToolTipCtrl m_ToolTip;
  72. };
  73.  
  74.  
  75. class AFX_EXT_CLASS CDateTimeControl : public CStatic
  76. {
  77. public:
  78.   CDateTimeControl();
  79.   virtual ~CDateTimeControl();
  80.  
  81.   BOOL SubclassEdit(UINT iCtlID, CWnd* pParentWnd);
  82.   BOOL SubclassEdit(HWND hEdit);
  83.   void SetFlags(DWORD dwFlags) { m_dwFlags = dwFlags; };
  84.  
  85. protected:
  86.   //{{AFX_VIRTUAL(CDateTimeControl)
  87.   //}}AFX_VIRTUAL
  88.  
  89.   //{{AFX_MSG(CDateTimeControl)
  90.   //}}AFX_MSG
  91.  
  92.   DECLARE_MESSAGE_MAP()
  93.  
  94.   BOOL AddEditButton();
  95.  
  96.   BOOL m_bSubclassed;
  97.   CDateButton m_Edit;
  98.   DWORD m_dwFlags;
  99. };
  100.  
  101.  
  102. class AFX_EXT_CLASS CDateControl : public CDateTimeControl
  103. {
  104. public:
  105. //Constructors / Destructors
  106.   CDateControl();
  107.   virtual ~CDateControl();
  108.  
  109. //Accessors / Mutators
  110.   void SetValue(const CDate& value);
  111.   void GetValue(CDate& value) { value = m_Value; };
  112.   
  113. protected:
  114.   //{{AFX_VIRTUAL(CDateControl)
  115.   //}}AFX_VIRTUAL
  116.  
  117.   //{{AFX_MSG(CDateControl)
  118.   afx_msg LRESULT OnEditClick(WPARAM, LPARAM);
  119.   //}}AFX_MSG
  120.  
  121.   DECLARE_MESSAGE_MAP()
  122.  
  123.   CDate m_Value;
  124. };
  125.  
  126.  
  127. class AFX_EXT_CLASS CLTimeSpanControl : public CDateTimeControl
  128. {
  129. public:
  130. //Constructors / Destructors
  131.   CLTimeSpanControl();
  132.   virtual ~CLTimeSpanControl();
  133.  
  134. //Accessors / Mutators
  135.   void SetValue(const CLTimeSpan& value);
  136.   void GetValue(CLTimeSpan& value) { value = m_Value; };
  137.  
  138. protected:
  139.   //{{AFX_VIRTUAL(CLTimeSpanControl)
  140.   //}}AFX_VIRTUAL
  141.  
  142.   //{{AFX_MSG(CLTimeSpanControl)
  143.   afx_msg LRESULT OnEditClick(WPARAM, LPARAM);
  144.   //}}AFX_MSG
  145.  
  146.   DECLARE_MESSAGE_MAP()
  147.  
  148.   CLTimeSpan m_Value;
  149. };
  150.  
  151.  
  152. class AFX_EXT_CLASS CLTimeOfDayControl : public CDateTimeControl
  153. {
  154. public:
  155. //Constructors / Destructors
  156.   CLTimeOfDayControl();
  157.   virtual ~CLTimeOfDayControl();
  158.  
  159. //Accessors / Mutators
  160.   void SetValue(const CLTimeOfDay& value);
  161.   void GetValue(CLTimeOfDay& value) { value = m_Value; };
  162.  
  163. protected:
  164.   //{{AFX_VIRTUAL(CCLTimeOfDayControl)
  165.   //}}AFX_VIRTUAL
  166.  
  167.   //{{AFX_MSG(CLTimeOfDayControl)
  168.   afx_msg LRESULT OnEditClick(WPARAM, LPARAM);
  169.   //}}AFX_MSG
  170.  
  171.   DECLARE_MESSAGE_MAP()
  172.  
  173.   CLTimeOfDay m_Value;
  174. };
  175.  
  176.  
  177. class AFX_EXT_CLASS CLDateControl : public CDateTimeControl
  178. {
  179. public:
  180. //Constructors / Destructors
  181.   CLDateControl();
  182.   virtual ~CLDateControl();
  183.  
  184. //Accessors / Mutators
  185.   void SetValue(const CLDate& value);
  186.   void GetValue(CLDate& value) { value = m_Value; };
  187.  
  188. protected:
  189.   //{{AFX_VIRTUAL(CLDateControl)
  190.   //}}AFX_VIRTUAL
  191.  
  192.   //{{AFX_MSG(CLDateControl)
  193.   afx_msg LRESULT OnEditClick(WPARAM, LPARAM);
  194.   //}}AFX_MSG
  195.  
  196.   DECLARE_MESSAGE_MAP()
  197.  
  198.   CLDate m_Value;
  199. };
  200.  
  201.  
  202. class CDatePropertyPage : public CPropertyPage
  203. {
  204. public:
  205.     //Constructors / Destructors
  206.     CDatePropertyPage();
  207.   CDatePropertyPage(UINT nIDTemplate, UINT nIDCaption = 0);
  208.     ~CDatePropertyPage();
  209.  
  210.     //functions
  211.     void SetFlags(DWORD dwFlags) { m_dwFlags = dwFlags; };
  212.  
  213.     //Accessors / Mutators
  214.     void SetDate(const CDate& date) { m_Date = date; };
  215.     CDate GetDate() const {return m_Date; };
  216.  
  217.  
  218. protected:
  219.     //{{AFX_DATA(CDatePropertyPage)
  220.     //}}AFX_DATA
  221.   
  222.     //{{AFX_VIRTUAL(CDatePropertyPage)
  223.     //}}AFX_VIRTUAL
  224.  
  225.     DECLARE_DYNCREATE(CDatePropertyPage)
  226.  
  227.     //{{AFX_MSG(CDatePropertyPage)
  228.     //}}AFX_MSG
  229.  
  230.     DECLARE_MESSAGE_MAP()
  231.   
  232.   DWORD m_dwFlags;
  233.   CDate m_Date;
  234. };
  235.  
  236.  
  237.  
  238.  
  239. class CDatePropertySheet : public CPropertySheet
  240. {
  241. public:
  242.     //Constructors / Destructors
  243.   CDatePropertySheet();
  244.     CDatePropertySheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  245.     CDatePropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  246.     virtual ~CDatePropertySheet();
  247.  
  248. protected:
  249.   //{{AFX_DATA(CDatePropertySheet)
  250.     //}}AFX_DATA
  251.   
  252.     //{{AFX_VIRTUAL(CDatePropertySheet)
  253.     public:
  254.     //}}AFX_VIRTUAL
  255.  
  256.     DECLARE_DYNCREATE(CDatePropertySheet)
  257.  
  258.     //{{AFX_MSG(CDatePropertySheet)
  259.     //}}AFX_MSG
  260.  
  261.     DECLARE_MESSAGE_MAP()
  262.   
  263.   DWORD m_dwFlags;
  264. };
  265.  
  266.  
  267.  
  268. class CCDateDOMPage : public CDatePropertyPage
  269. {
  270. public:
  271.     //Constructors / Destructors
  272.     CCDateDOMPage();
  273.     ~CCDateDOMPage();
  274.  
  275. protected:
  276.     //{{AFX_DATA(CCDateDOMPage)
  277.     enum { IDD = IDD_CDATE_DOM };
  278.     CSpinButtonCtrl    m_SpinYear;
  279.     CSpinButtonCtrl    m_SpinDay;
  280.     UINT    m_nDay;
  281.     long    m_lYear;
  282.     BOOL    m_bInvalid;
  283.     //}}AFX_DATA
  284.   WORD m_nMonth;
  285.  
  286.     //{{AFX_VIRTUAL(CCDateDOMPage)
  287.     public:
  288.     virtual void DoDataExchange(CDataExchange* pDX);
  289.     //}}AFX_VIRTUAL
  290.  
  291.     DECLARE_DYNCREATE(CCDateDOMPage)
  292.  
  293.     //{{AFX_MSG(CCDateDOMPage)
  294.     afx_msg void OnInvalid();
  295.     virtual BOOL OnInitDialog();
  296.     afx_msg void OnToday();
  297.     afx_msg void OnSelchangeDisplay();
  298.     //}}AFX_MSG
  299.  
  300.     DECLARE_MESSAGE_MAP()
  301. };
  302.  
  303.  
  304.  
  305. class CTimeFramePage : public CDatePropertyPage
  306. {
  307. public:
  308.     //Constructors / Destructors
  309.     CTimeFramePage();
  310.     ~CTimeFramePage();
  311.  
  312.     //Accessors / Mutators
  313.     void SetTimeFrame(TimeFrame tf) { m_TimeFrame = tf; };
  314.     TimeFrame GetTimeFrame() const { return m_TimeFrame; };
  315.  
  316.   void SetInvalid(BOOL bInvalid) { m_bInvalid = bInvalid; };
  317.  
  318.  
  319. protected:
  320.     //{{AFX_DATA(CTimeFramePage)
  321.     enum { IDD = IDD_TIMEFRAME };
  322.     //}}AFX_DATA
  323.  
  324.     //{{AFX_VIRTUAL(CTimeFramePage)
  325.     public:
  326.     virtual void DoDataExchange(CDataExchange* pDX);
  327.     virtual BOOL OnSetActive();
  328.     //}}AFX_VIRTUAL
  329.  
  330.     DECLARE_DYNCREATE(CTimeFramePage)
  331.  
  332.     //{{AFX_MSG(CTimeFramePage)
  333.     virtual BOOL OnInitDialog();
  334.     //}}AFX_MSG
  335.  
  336.     void DisableIfInvalid();
  337.  
  338.     DECLARE_MESSAGE_MAP()
  339.  
  340.     TimeFrame m_TimeFrame;
  341.   BOOL m_bInvalid;
  342. };
  343.  
  344.  
  345.  
  346. class CCDateDOYPage : public CDatePropertyPage
  347. {
  348. public:
  349.     // Constructors / Destructors
  350.     CCDateDOYPage();
  351.     ~CCDateDOYPage();
  352.  
  353.  
  354. protected:
  355.     //{{AFX_DATA(CCDateDOYPage)
  356.     enum { IDD = IDD_CDATE_DOY };
  357.     CSpinButtonCtrl    m_SpinYear;
  358.     CSpinButtonCtrl    m_SpinDay;
  359.     UINT    m_nDay;
  360.     BOOL    m_bInvalid;
  361.     long    m_lYear;
  362.     //}}AFX_DATA
  363.  
  364.     //{{AFX_VIRTUAL(CCDateDOYPage)
  365.     public:
  366.     virtual void DoDataExchange(CDataExchange* pDX);
  367.     //}}AFX_VIRTUAL
  368.  
  369.     DECLARE_DYNCREATE(CCDateDOYPage)
  370.  
  371.     //{{AFX_MSG(CCDateDOYPage)
  372.     afx_msg void OnInvalid();
  373.     virtual BOOL OnInitDialog();
  374.     afx_msg void OnToday();
  375.     afx_msg void OnSelchangeDisplay();
  376.     //}}AFX_MSG
  377.  
  378.     DECLARE_MESSAGE_MAP()
  379. };
  380.  
  381.  
  382.  
  383. class CCDateWOMPage : public CDatePropertyPage
  384. {
  385. public:
  386.     //Constructors / Destructors
  387.     CCDateWOMPage();
  388.     ~CCDateWOMPage();
  389.  
  390. protected:
  391.     DECLARE_DYNCREATE(CCDateWOMPage)
  392.  
  393.     //{{AFX_DATA(CCDateWOMPage)
  394.     enum { IDD = IDD_CDATE_WOM };
  395.     CSpinButtonCtrl    m_SpinYear;
  396.     BOOL    m_bInvalid;
  397.     long    m_lYear;
  398.     //}}AFX_DATA
  399.   WORD m_nDayOfWeek;
  400.   WORD m_nWeek;
  401.   WORD m_nMonth;
  402.  
  403.     //{{AFX_VIRTUAL(CCDateWOMPage)
  404.     public:
  405.     virtual void DoDataExchange(CDataExchange* pDX);
  406.     //}}AFX_VIRTUAL
  407.  
  408.     //{{AFX_MSG(CCDateWOMPage)
  409.     afx_msg void OnInvalid();
  410.     virtual BOOL OnInitDialog();
  411.     afx_msg void OnToday();
  412.     afx_msg void OnSelchangeDisplay();
  413.     //}}AFX_MSG
  414.  
  415.     DECLARE_MESSAGE_MAP()
  416. };
  417.  
  418.  
  419.  
  420. class CCDateWOYPage : public CDatePropertyPage
  421. {
  422. public:
  423.     //Constructors / Destructors
  424.     CCDateWOYPage();
  425.     ~CCDateWOYPage();
  426.  
  427. protected:
  428.     DECLARE_DYNCREATE(CCDateWOYPage)
  429.  
  430.     //{{AFX_DATA(CCDateWOYPage)
  431.     enum { IDD = IDD_CDATE_WOY };
  432.     CSpinButtonCtrl    m_SpinYear;
  433.     CSpinButtonCtrl    m_SpinWeek;
  434.     BOOL    m_bInvalid;
  435.     long    m_lYear;
  436.   int m_nWeek;
  437.     //}}AFX_DATA
  438.   WORD m_nDayOfWeek;
  439.   
  440.  
  441.     //{{AFX_VIRTUAL(CCDateWOYPage)
  442.     public:
  443.     virtual void DoDataExchange(CDataExchange* pDX);
  444.     //}}AFX_VIRTUAL
  445.  
  446.     //{{AFX_MSG(CCDateWOYPage)
  447.   afx_msg void OnInvalid();
  448.     virtual BOOL OnInitDialog();
  449.     afx_msg void OnToday();
  450.     afx_msg void OnSelchangeDisplay();
  451.     //}}AFX_MSG
  452.  
  453.     DECLARE_MESSAGE_MAP()
  454. };
  455.  
  456.  
  457.  
  458. class CCLTimeOfDayHMSMPage : public CDatePropertyPage
  459. {
  460. public:
  461.     //Constructors / Destructors
  462.     CCLTimeOfDayHMSMPage();
  463.     ~CCLTimeOfDayHMSMPage();
  464.  
  465.   void SetShowInvalidCheck(BOOL bShowInvalid) { m_bShowInvalid = bShowInvalid; }; 
  466.   void MarkAsValid();
  467.  
  468.     //Accessors / Mutators
  469.     void SetTimeOfDay(const CLTimeOfDay& Tod) { m_Tod = Tod; };
  470.     CLTimeOfDay GetTimeOfDay() const { return m_Tod; };
  471.  
  472.  
  473. protected:
  474.     DECLARE_DYNCREATE(CCLTimeOfDayHMSMPage)
  475.  
  476.     //{{AFX_DATA(CCLTimeOfDayHMSMPage)
  477.     enum { IDD = IDD_CLTIMEOFDAY_HMSM };
  478.     CSpinButtonCtrl    m_SpinSecond;
  479.     CSpinButtonCtrl    m_SpinMinute;
  480.     CSpinButtonCtrl    m_SpinHour;
  481.     UINT    m_nHour;
  482.     BOOL    m_bInvalid;
  483.     UINT    m_nMinute;
  484.     UINT    m_nSecond;
  485.     //}}AFX_DATA
  486.  
  487.     //{{AFX_VIRTUAL(CCLTimeOfDayHMSMPage)
  488.     public:
  489.     virtual void DoDataExchange(CDataExchange* pDX);
  490.     virtual BOOL OnSetActive();
  491.     //}}AFX_VIRTUAL
  492.  
  493.     //{{AFX_MSG(CCLTimeOfDayHMSMPage)
  494.     afx_msg void OnInvalid();
  495.     virtual BOOL OnInitDialog();
  496.     afx_msg void OnNow();
  497.     afx_msg void OnMidday();
  498.     afx_msg void OnMidnight();
  499.     //}}AFX_MSG
  500.  
  501.     DECLARE_MESSAGE_MAP()
  502.  
  503.   BOOL m_bShowInvalid;
  504.   CLTimeOfDay m_Tod;
  505. };
  506.  
  507.  
  508.  
  509. class CCLTimeSpanDHMSMPage : public CDatePropertyPage
  510. {
  511. public:
  512.     //Constructors / Destructors
  513.     CCLTimeSpanDHMSMPage();
  514.     ~CCLTimeSpanDHMSMPage();
  515.  
  516.     //Accessors / Mutators
  517.     void SetTimeSpan(const CLTimeSpan& Ts) { m_Ts = Ts; };
  518.     CLTimeSpan GetTimeSpan() const { return m_Ts; };
  519.  
  520.  
  521. protected:
  522.     DECLARE_DYNCREATE(CCLTimeSpanDHMSMPage)
  523.  
  524.     //{{AFX_DATA(CCLTimeSpanDHMSMPage)
  525.     enum { IDD = IDD_CLTIMESPAN_DHMSM };
  526.     CSpinButtonCtrl    m_SpinSecond;
  527.     CSpinButtonCtrl    m_SpinMinute;
  528.     CSpinButtonCtrl    m_SpinHour;
  529.     CSpinButtonCtrl    m_SpinDay;
  530.     long    m_lDay;
  531.     UINT    m_nHour;
  532.     BOOL    m_bInvalid;
  533.     UINT    m_nMinute;
  534.     UINT    m_nSecond;
  535.     //}}AFX_DATA
  536.  
  537.     //{{AFX_VIRTUAL(CCLTimeSpanDHMSMPage)
  538.     public:
  539.     virtual void DoDataExchange(CDataExchange* pDX);
  540.     //}}AFX_VIRTUAL
  541.  
  542.     //{{AFX_MSG(CCLTimeSpanDHMSMPage)
  543.     afx_msg void OnInvalid();
  544.     virtual BOOL OnInitDialog();
  545.     //}}AFX_MSG
  546.  
  547.     DECLARE_MESSAGE_MAP()
  548.  
  549.   CLTimeSpan m_Ts;
  550. };
  551.  
  552.  
  553.  
  554. enum CDateCurrentPage
  555. {
  556.     DOMPage,
  557.     DOYPage,
  558.     WOMPage,
  559.     WOYPage
  560. };
  561.  
  562.  
  563.  
  564. class AFX_EXT_CLASS CCDateSheet : public CDatePropertySheet
  565. {
  566. public:
  567.     //Constructors / Destructors
  568.     CCDateSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  569.     CCDateSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  570.     virtual ~CCDateSheet();
  571.  
  572.   //Accessors / Mutators
  573.   CDate GetCDate() const;
  574.   void SetCDate(const CDate& date);
  575.  
  576.  
  577. protected:
  578.     DECLARE_DYNAMIC(CCDateSheet)
  579.  
  580.     //{{AFX_VIRTUAL(CCDateSheet)
  581.     //}}AFX_VIRTUAL
  582.  
  583.     //{{AFX_MSG(CCDateSheet)
  584.     afx_msg void OnDOMFormat();
  585.     afx_msg void OnDOYFormat();
  586.     afx_msg void OnWOMFormat();
  587.     afx_msg void OnWOYFormat();
  588.     //}}AFX_MSG
  589.  
  590.     DECLARE_MESSAGE_MAP()
  591.  
  592.   CCDateDOMPage m_DOMPage;
  593.   CCDateWOMPage m_WOMPage;
  594.   CCDateWOYPage m_WOYPage;
  595.   CCDateDOYPage m_DOYPage;
  596.   CDateCurrentPage m_DateCurrPage;
  597.   CDate m_Date;
  598. };
  599.  
  600.  
  601.  
  602. class AFX_EXT_CLASS CCLDateSheet : public CDatePropertySheet
  603. {
  604. public:
  605.     //Constructors / Destructors
  606.     CCLDateSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  607.     CCLDateSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  608.     virtual ~CCLDateSheet();
  609.  
  610.   //Accessors / Mutators
  611.   CLDate GetCLDate() const;
  612.   void SetCLDate(const CLDate& date);
  613.  
  614.  
  615. protected:
  616.     DECLARE_DYNAMIC(CCLDateSheet)
  617.  
  618.     //{{AFX_VIRTUAL(CCLDateSheet)
  619.     //}}AFX_VIRTUAL
  620.  
  621.   afx_msg LRESULT OnTimeOfDayNotify(WPARAM wParam, LPARAM lParam);
  622.   afx_msg LRESULT OnTimeFrameNotify(WPARAM wParam, LPARAM lParam);
  623.     //{{AFX_MSG(CCLDateSheet)
  624.     afx_msg void OnDOMFormat();
  625.     afx_msg void OnDOYFormat();
  626.     afx_msg void OnWOMFormat();
  627.     afx_msg void OnWOYFormat();
  628.     //}}AFX_MSG
  629.     DECLARE_MESSAGE_MAP()
  630.  
  631.   CCDateDOMPage        m_DOMPage;
  632.     CCDateWOMPage        m_WOMPage;
  633.     CCDateWOYPage        m_WOYPage;
  634.     CCDateDOYPage        m_DOYPage;
  635.     CCLTimeOfDayHMSMPage m_HMSMPage;
  636.   CTimeFramePage       m_TimeFramePage;
  637.     CDateCurrentPage     m_DateCurrPage;
  638.   CLDate m_Ldate;
  639. };
  640.  
  641.  
  642.  
  643. class AFX_EXT_CLASS CCLTimeOfDaySheet : public CDatePropertySheet
  644. {
  645. public:
  646.     //Constructors /Destructors
  647.     CCLTimeOfDaySheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  648.     CCLTimeOfDaySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  649.     virtual ~CCLTimeOfDaySheet();
  650.  
  651.   //Accessors / Mutators
  652.   CLTimeOfDay GetCLTimeOfDay() const { return m_HMSMPage.GetTimeOfDay(); };
  653.   void SetCLTimeOfDay(const CLTimeOfDay& Tod);
  654.  
  655. protected:
  656.     DECLARE_DYNAMIC(CCLTimeOfDaySheet)
  657.  
  658.     //{{AFX_VIRTUAL(CCLTimeOfDaySheet)
  659.     //}}AFX_VIRTUAL
  660.  
  661.   afx_msg LRESULT OnTimeOfDayNotify(WPARAM wParam, LPARAM lParam);
  662.     //{{AFX_MSG(CCLTimeOfDaySheet)
  663.     //}}AFX_MSG
  664.     DECLARE_MESSAGE_MAP()
  665.  
  666.   CCLTimeOfDayHMSMPage m_HMSMPage;
  667. };
  668.  
  669.  
  670.  
  671. class AFX_EXT_CLASS CCLTimeSpanSheet : public CDatePropertySheet
  672. {
  673. public:
  674.     //Constructors / Destructors
  675.     CCLTimeSpanSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  676.     CCLTimeSpanSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage, DWORD dwFlags);
  677.     virtual ~CCLTimeSpanSheet();
  678.  
  679.   //Accessors / Mutators
  680.   CLTimeSpan GetCLTimeSpan() const { return m_DHMSMPage.GetTimeSpan(); };
  681.   void SetCLTimeSpan(const CLTimeSpan& Ts);
  682.  
  683. protected:
  684.     DECLARE_DYNAMIC(CCLTimeSpanSheet)
  685.  
  686.     //{{AFX_VIRTUAL(CCLTimeSpanSheet)
  687.     //}}AFX_VIRTUAL
  688.  
  689.     //{{AFX_MSG(CCLTimeSpanSheet)
  690.     //}}AFX_MSG
  691.     DECLARE_MESSAGE_MAP()
  692.  
  693.   CCLTimeSpanDHMSMPage m_DHMSMPage;
  694. };
  695.  
  696.  
  697.  
  698.  
  699.  
  700. class AFX_EXT_CLASS CDTimeReminderDlg : public CDialog
  701. {
  702. public:
  703.   //Constructors / Destructors
  704.     CDTimeReminderDlg(CWnd* pParent = NULL);   // standard constructor
  705.  
  706.  
  707. protected:
  708.     //{{AFX_VIRTUAL(CDTimeReminderDlg)
  709.     protected:
  710.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  711.     //}}AFX_VIRTUAL
  712.  
  713.  
  714.     //{{AFX_DATA(CDTimeReminderDlg)
  715.     enum { IDD = IDD_DTIME_ABOUT };
  716.     //}}AFX_DATA
  717.  
  718.  
  719.     //{{AFX_MSG(CDTimeReminderDlg)
  720.     virtual BOOL OnInitDialog();
  721.     //}}AFX_MSG
  722.     DECLARE_MESSAGE_MAP()
  723. };
  724.  
  725.  
  726.  
  727.  
  728. //MFC Data exchange routines
  729.  
  730. void AFX_EXT_API DDX_CDateControl(CDataExchange* pDX, int nIDC, CDateControl& rCDateControl, DWORD dwFlags);
  731. void AFX_EXT_API DDX_CLTimeSpanControl(CDataExchange* pDX, int nIDC, CLTimeSpanControl& rCLTimeSpanControl, DWORD dwFlags);
  732. void AFX_EXT_API DDX_CLTimeOfDayControl(CDataExchange* pDX, int nIDC, CLTimeOfDayControl& rCLTimeOfDayControl, DWORD dwFlags);
  733. void AFX_EXT_API DDX_CLDateControl(CDataExchange* pDX, int nIDC, CLDateControl& rCLDateControl, DWORD dwFlags);
  734.  
  735. void AFX_EXT_API DDX_CDate(CDataExchange* pDX, CDateControl& rCDateControl, CDate& value);
  736. void AFX_EXT_API DDV_MinMaxCDate(CDataExchange* pDX, CDate& value, CDate& minVal, CDate& maxVal);
  737. void AFX_EXT_API DDV_GreaterThanCDate(CDataExchange* pDX, CDate& value, CDate& minVal);
  738. void AFX_EXT_API DDV_LessThanCDate(CDataExchange* pDX, CDate& value, CDate& maxVal);
  739.  
  740. void AFX_EXT_API DDX_CLTimeSpan(CDataExchange* pDX, CLTimeSpanControl& rCLTimeSpanControl, CLTimeSpan& value);
  741. void AFX_EXT_API DDV_MinMaxCLTimeSpan(CDataExchange* pDX, CLTimeSpan& value, CLTimeSpan& minVal, CLTimeSpan& maxVal);
  742. void AFX_EXT_API DDV_GreaterThanCLTimeSpan(CDataExchange* pDX, CLTimeSpan& value, CLTimeSpan& minVal);
  743. void AFX_EXT_API DDV_LessThanCLTimeSpan(CDataExchange* pDX, CLTimeSpan& value, CLTimeSpan& maxVal);
  744.  
  745. void AFX_EXT_API DDX_CLTimeOfDay(CDataExchange* pDX, CLTimeOfDayControl& rCLTimeOfDayControl, CLTimeOfDay& value);
  746. void AFX_EXT_API DDV_MinMaxCLTimeOfDay(CDataExchange* pDX, CLTimeOfDay& value, CLTimeOfDay& minVal, CLTimeOfDay& maxVal);
  747. void AFX_EXT_API DDV_GreaterThanCLTimeOfDay(CDataExchange* pDX, CLTimeOfDay& value, CLTimeOfDay& minVal);
  748. void AFX_EXT_API DDV_LessThanCLTimeOfDay(CDataExchange* pDX, CLTimeOfDay& value, CLTimeOfDay& maxVal);
  749.  
  750. void AFX_EXT_API DDX_CLDate(CDataExchange* pDX, CLDateControl& rCLDateControl, CLDate& value);
  751. void AFX_EXT_API DDV_MinMaxCLDate(CDataExchange* pDX, CLDate& value, CLDate& minVal, CLDate& maxVal);
  752. void AFX_EXT_API DDV_GreaterThanCLDate(CDataExchange* pDX, CLDate& value, CLDate& minVal);
  753. void AFX_EXT_API DDV_LessThanCLDate(CDataExchange* pDX, CLDate& value, CLDate& maxVal);
  754.  
  755. void AFX_EXT_API DDX_CBData(CDataExchange* pDX, int nIDC, DWORD& dwData);
  756.  
  757.  
  758. #endif //__DENTRY_H__
  759.  
  760.  
  761.  
  762.  
  763.                                         
  764.